Phoenix 6 Overview
Introduction
Phoenix 6 is the latest software framework from Cross The Road Electronics (CTRE) for controlling their suite of CAN-based devices in FRC robotics. It provides the necessary APIs to interface with CTRE hardware in your robot code.
Supported Devices
Phoenix 6 supports a wide range of CTRE devices commonly used in FRC, categorized as follows:
Motors
- Talon FX: Intigrated brushless motor controller compatible with Falcon 500, Kraken X60, Kraken X44. C++ API
- Talon FXS: Standalone brushless motor controller compatiable with Minion. C++ API
Sensors
- CANcoder: Absolute magnetic encoder for precise position feedback. C++ API
- Pigeon 2.0: Inertial measurement unit (IMU) for gyroscopic and accelerometer data. C++ API
- CANrange: Time-of-flight sensor for distance measurement. C++ API
- SRX Mag Encoder: Rotary position and velocity sensor.
- WCP ThroughBore Encoder: Compact rotary sensor powered by CANcoder. C++ API
- Gadgeteer Pigeon IMU: Legacy inertial measurement unit (IMU).
Other
- CANdi: Digital I/O module for additional digital inputs and outputs. C++ API
- CANdle: LED controller for managing robot lighting and indicators. C++ API
- CANivore: CAN FD to USB adapter for interfacing with CAN devices. API
Why Use Phoenix 6
If you use Cross The Road Electronics (CTRE) hardware, you need to use their API. Phoenix 6 provides built-in libraries that make controlling motors, sensors, and other devices easier, and it's fully integrated with FIRST robotics frameworks like WPILib.
C++ API for FRC Teams
FRC teams using C++ can access the Phoenix 6 API documentation at: https://api.ctr-electronics.com/phoenix6/release/cpp/
This documentation includes detailed references for all classes, methods, and examples specific to C++ integration with WPILib.